package com.sxkf.template.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 售后订单表
 * </p>
 *
 * @author 杨玉龙
 * @since 2024-12-04 16:21:16
 */
@Getter
@Setter
@TableName("t_after_sale_order")
@ApiModel(value = "AfterSaleOrder对象", description = "售后订单表")
public class AfterSaleOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("售后订单表PK")
      @TableId(value = "id")
    private String id;

    @ApiModelProperty("订单表PK")
    @TableField("order_id")
    private String orderId;

    @ApiModelProperty("订单编号")
    @TableField("order_no")
    private String orderNo;

    @ApiModelProperty("(0=未收到，1=已收货)")
    @TableField("product_state")
    private String productState;

    @ApiModelProperty("服务类型（1=退货退款，2=无需退货）")
    @TableField("type")
    private String type;

    @ApiModelProperty("退款原因")
    @TableField("reason")
    private String reason;

    @ApiModelProperty("退款金额")
    @TableField("price")
    private BigDecimal price;

    @ApiModelProperty("退款说明")
    @TableField("`explain`")
    private String explain;

    @ApiModelProperty("售后状态（0=待处理，1=已通过，2=已驳回）")
    @TableField("state")
    private String state;

    @ApiModelProperty("是否删除(0=否，1=是)")
    @TableField("is_delete")
    @TableLogic
    private String isDelete;

    @ApiModelProperty("审核备注")
    @TableField("remark")
    private String remark;

    @ApiModelProperty("预计天数")
    @TableField("expect_days")
    private Integer expectDays;

    @ApiModelProperty("预计时间")
    @TableField(exist = false)
    private Date expectTime;

    @ApiModelProperty("创建时间")
      @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty("修改时间")
      @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}
